package landun.dao;

import landun.pojo.BizClaimVoucher;
import landun.pojo.Page;
import landun.pojo.SysEmployee;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

public interface BizClaimVoucherDao {

    /**
     * 查找所有报销状态
     * @return
     */
    public  List<Object[]> findStatusMap();

    /**
     * 查找所有报销单
     * @return
     */
    public List<BizClaimVoucher> findClaimVoucher(String status, Date stratDate, Date endDate, SysEmployee employee, Page page);

    /**
     * 查询总记录数
     * @return
     */
    public Integer totalCount(String status, Date stratDate, Date endDate,SysEmployee employee);

    /**
     * 新增报销单
     * @param bizClaimVoucher
     */
    public void save(BizClaimVoucher bizClaimVoucher);

    public BizClaimVoucher get(Serializable id);

    /**
     * 修改报销单
     * @param bizClaimVoucher
     */
    public void updateClaimVoucher(BizClaimVoucher bizClaimVoucher);

    /**
     * 根据ID查找报销单信息
     * @param id
     * @return
     */
    public BizClaimVoucher findVoucherById(Integer id);

    /**
     * 部门经理查询报销单
     * @param page
     * @return
     */
    public List<BizClaimVoucher> managerFindVoucher(Integer deptId,Page page);

    /**
     * 总经理查报销单
     * @param page
     * @return
     *
     */
    public List<BizClaimVoucher> generalmanagerFindVoucher(final Integer id, final Page page);

    /**
     * 财务总监查询报销单
     * @param page
     * @return
     */
    public List<BizClaimVoucher> cashierFindVoucher(final Integer id, final Page page);
}
